package com.example.mangroves.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;

@TableName("geo_info")
public class GeoInfo {

    @TableId(type = IdType.AUTO)
    private Integer id;

    @TableField("latitude")
    private Double latitude;

    @TableField("longitude")
    private Double longitude;

    @TableField("altitude")
    private Double altitude;

    @TableField("station_name")
    private String stationName;

    @TableField("model")
    private String model;

    @TableField("serial_no")
    private String serialNo;

    @TableField("os_version")
    private String osVersion;

    @TableField("prog_name")
    private String progName;

    @TableField("transaction")
    private Integer transaction;

    @TableField("signature")
    private Long signature;

    @TableField(value = "CREATE_TIME", fill = FieldFill.INSERT)
    private Date createTime;

    @TableField(value = "UPDATE_TIME", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;


    @TableField("data_json")
    private String dataJson;  // Use String to handle JSON for compatibility

    public GeoInfo() {
    }

    public GeoInfo(Integer id, Double latitude, Double longitude, Double altitude, String stationName, String model, String serialNo, String osVersion, String progName, Integer transaction, Long signature, Date createTime, Date updateTime, String dataJson) {
        this.id = id;
        this.latitude = latitude;
        this.longitude = longitude;
        this.altitude = altitude;
        this.stationName = stationName;
        this.model = model;
        this.serialNo = serialNo;
        this.osVersion = osVersion;
        this.progName = progName;
        this.transaction = transaction;
        this.signature = signature;
        this.createTime = createTime;
        this.updateTime = updateTime;
        this.dataJson = dataJson;
    }

    /**
     * 获取
     * @return id
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取
     * @return latitude
     */
    public Double getLatitude() {
        return latitude;
    }

    /**
     * 设置
     * @param latitude
     */
    public void setLatitude(Double latitude) {
        this.latitude = latitude;
    }

    /**
     * 获取
     * @return longitude
     */
    public Double getLongitude() {
        return longitude;
    }

    /**
     * 设置
     * @param longitude
     */
    public void setLongitude(Double longitude) {
        this.longitude = longitude;
    }

    /**
     * 获取
     * @return altitude
     */
    public Double getAltitude() {
        return altitude;
    }

    /**
     * 设置
     * @param altitude
     */
    public void setAltitude(Double altitude) {
        this.altitude = altitude;
    }

    /**
     * 获取
     * @return stationName
     */
    public String getStationName() {
        return stationName;
    }

    /**
     * 设置
     * @param stationName
     */
    public void setStationName(String stationName) {
        this.stationName = stationName;
    }

    /**
     * 获取
     * @return model
     */
    public String getModel() {
        return model;
    }

    /**
     * 设置
     * @param model
     */
    public void setModel(String model) {
        this.model = model;
    }

    /**
     * 获取
     * @return serialNo
     */
    public String getSerialNo() {
        return serialNo;
    }

    /**
     * 设置
     * @param serialNo
     */
    public void setSerialNo(String serialNo) {
        this.serialNo = serialNo;
    }

    /**
     * 获取
     * @return osVersion
     */
    public String getOsVersion() {
        return osVersion;
    }

    /**
     * 设置
     * @param osVersion
     */
    public void setOsVersion(String osVersion) {
        this.osVersion = osVersion;
    }

    /**
     * 获取
     * @return progName
     */
    public String getProgName() {
        return progName;
    }

    /**
     * 设置
     * @param progName
     */
    public void setProgName(String progName) {
        this.progName = progName;
    }

    /**
     * 获取
     * @return transaction
     */
    public Integer getTransaction() {
        return transaction;
    }

    /**
     * 设置
     * @param transaction
     */
    public void setTransaction(Integer transaction) {
        this.transaction = transaction;
    }

    /**
     * 获取
     * @return signature
     */
    public Long getSignature() {
        return signature;
    }

    /**
     * 设置
     * @param signature
     */
    public void setSignature(Long signature) {
        this.signature = signature;
    }

    /**
     * 获取
     * @return createTime
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置
     * @param createTime
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取
     * @return updateTime
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置
     * @param updateTime
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取
     * @return dataJson
     */
    public String getDataJson() {
        return dataJson;
    }

    /**
     * 设置
     * @param dataJson
     */
    public void setDataJson(String dataJson) {
        this.dataJson = dataJson;
    }

    @Override
    public String toString() {
        return "GeoInfo{id = " + id + ", latitude = " + latitude + ", longitude = " + longitude + ", altitude = " + altitude + ", stationName = " + stationName + ", model = " + model + ", serialNo = " + serialNo + ", osVersion = " + osVersion + ", progName = " + progName + ", transaction = " + transaction + ", signature = " + signature + ", createTime = " + createTime + ", updateTime = " + updateTime + ", dataJson = " + dataJson + "}";
    }

}
